struct _REGISTERED_INTERRUPT_CONTROLLER// Size=0x168
{
    struct _LIST_ENTRY ListEntry;// Offset=0x0 Size=0x10
    void * InternalData;// Offset=0x10 Size=0x8
    unsigned long InternalDataSize;// Offset=0x18 Size=0x4
    struct _INTERRUPT_FUNCTION_TABLE FunctionTable;// Offset=0x20 Size=0xc0
    enum _KNOWN_CONTROLLER_TYPE KnownType;// Offset=0xe0 Size=0x4
    unsigned long Capabilities;// Offset=0xe4 Size=0x4
    unsigned long Flags;// Offset=0xe8 Size=0x4
    unsigned long MaxPriority;// Offset=0xec Size=0x4
    unsigned long UnitId;// Offset=0xf0 Size=0x4
    struct _LIST_ENTRY LinesHead;// Offset=0xf8 Size=0x10
    struct _LIST_ENTRY OutputLinesHead;// Offset=0x108 Size=0x10
    long MinLine;// Offset=0x118 Size=0x4
    long MaxLine;// Offset=0x11c Size=0x4
    unsigned long MaxClusterSize;// Offset=0x120 Size=0x4
    unsigned long MaxClusters;// Offset=0x124 Size=0x4
    unsigned long InterruptReplayDataSize;// Offset=0x128 Size=0x4
    enum _INTERRUPT_PROBLEM Problem;// Offset=0x12c Size=0x4
    long ProblemStatus;// Offset=0x130 Size=0x4
    char * ProblemSourceFile;// Offset=0x138 Size=0x8
    unsigned long ProblemSourceLine;// Offset=0x140 Size=0x4
    unsigned long CustomProblem;// Offset=0x144 Size=0x4
    long CustomProblemStatus;// Offset=0x148 Size=0x4
    struct _UNICODE_STRING ResourceId;// Offset=0x150 Size=0x10
    struct POHANDLE__ * PowerHandle;// Offset=0x160 Size=0x8
};